MyBatis if 标签 您所在的位置:网站首页 mybatics if else MyBatis if 标签

MyBatis if 标签

2024-04-15 02:15| 来源: 网络整理| 查看: 265

MyBatis if 标签

if 标签在mybatis的开发工作中主要用于where查询、insert插入和update更新三种操作中,本文接下来会对每种操作中的 if 标签做详细讲述.

where 查询中使用标签: SELECT * FROM tb_employee WHERE state = 'ACTIVE' and id = #{id}

以上语句提供了一个可选的根据id查找Employee的功能。如果没有传入id,那么所有处于"ACTIVE"状态的Employee都会被返回。反之,若传入了id,那么就会把查找id内容的Employee结果返回。

public Interface EmployeeMapper { List selectEmployeeByIdLike (HashMap params); }

以上代码提供了一个和EmployeeMapper.xml中的select元素的id同名的方法,需要注意的是,selectEmployeeByIdLike 接收一个 HashMap 作为参数。

public static void main(string[] args) throws Exception { // 读取mybatis-config.xml 文件 Inputstream inputStream = Resources.getResourceAsStream("mybatis-config.xml"); // 初始化mybatis,创建SqlSessionFactory 类的实例 sqlsessionFactory sqlSessionEactory = new sqlsessionFactoryBullder().build(inputStream); // 创建Session实例 sqlSesaion seasion = sqlsessionFactory.openSession(); DynamicsQlTest t = new DynamicSQITest(); t.testSelectEmployeeByIdLike(sesion); // 提交事务 sesion.commit(); // 关闭Session session.close(); } // 测试 public void testSelectemployeeByIdLike(Sqlsession session) { // 获得EmployeeMapper接口的代理对象 EmployeeMapper em = session.getMapper(EmployeeMapper.class); // 创建一个HashMap存储参数 HashMap params = new HashMap(); // 设置id属性 params.put("id", 1); // 调用EmployeeMapper接口的selectEmployeeByIdLike方法 List list = em.selectEmployeeByIdLike(params); // 查看查询结果 list.foEach(employee -> System.out.printIn(employee)); }

运行上面的main方法,其通过SqlSession的getMapper(Class type)方法获得mapper接口的代理对象EmployeeMapper。调用selctEmployeeByIdLike方法时会执行EmployeeMapper.xm中元素中定义的sql语句。控制台显示如下:

DEBUG [main]==> Preparing: SELBCT * FRON tb_employee WHERE state = 'ACTIVE' and id= ? DEBUG [main]==> Parameters: DEBUG [main] Breparing: SBLECT * FROM tb_employee WHERE state = 'ACTVE' DBBUG [main]--> Parameters: DEBUG [main]


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有